package com.echo.im.repository.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.echo.im.repository.dao.entity.Task;

import java.util.List;


/**
 *
 * 专门用于处理与任务相关的数据库操作(用于任务补偿)
 *
 * @author echo
 */
public interface TaskMapper extends BaseMapper<Task> {
    /**
     * 查询不需要发送消息的任务列表
     *
     * @return 不需要发送消息的任务列表
     */
    List<Task> selectNoSendMessageTaskList();

    /**
     * 更新任务状态为消息发送完成
     *
     * @param taskReq 需要更新的任务对象
     */
    void updateTaskSendMessageCompleted(Task taskReq);

    /**
     * 更新任务状态为消息发送失败
     *
     * @param taskReq 需要更新的任务对象
     */
    void updateTaskSendMessageFail(Task taskReq);
}
